Offline processing systems and methods for a carrier management system

ABSTRACT

The present invention includes system and methods for the continued operation of a carrier management system having one or more user terminals that normally communicate with at least one data center over a network (online), when the one or more user terminals are unable to communicate with the data center (offline). Once communication is re-established between the one or more user terminal and the data center, local files and data on the user terminals that were used to rate and ship packages while offline are synchronized between the one or more user terminals and the data center.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.60/583,865, filed Jun. 29, 2004.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to computer systems and softwareand particularly relates to computer systems and software associatedwith the delivery of items such as parcels (a.k.a. “packages”) that havebeen shipped by a shipper via a delivery service provider (hereinafter“service provider”), to an intended recipient (a.k.a. “consignee”).

2. Description of Related Art

Presently, carrier management systems (CMS) allow users to ship packagesthrough one or more carriers. CMS assist the user in choosing a carrierbased on cost, efficiency or other defined characteristics. Typicalusers may be, for instance, corporations or business entities havingshipping departments and retail shipping facilities such as MAIL BOXES,ETC.®, THE UPS STORE®, KINKO′S®, STAPLES®, etc. MAIL BOXES ETC. and THEUPS STORE are registered trademarks of United Parcel Service of America,Inc. KINKO'S is a registered trademark of Kinko's Ventures, Inc., ofDallas, Tex., and STAPLES is a registered trademark of Staples TheOffice Superstore, LLC, of Framingham, Mass. Generally, a typicalshipping location will have one or more user terminals that access a CMSdata center over a network. In typical CMS applications, rating data andother carrier specific information is generally maintained only at theCMS data center to facilitate updates/changes and minimize duplication.

A challenge faced by present CMS is the loss of communications betweenthe data center and the user terminal. This may be caused by networkoutages and/or hardware or software problems at either the data centeror the user terminal. Regardless of what the cause of the loss ofcommunications, in many instances it may lead to the inability topre-process, process and ship packages from the shipping location.

Therefore, systems and methods are needed to overcome the challengespresent in the art, some of which have been described above.

BRIEF SUMMARY OF THE INVENTION

One aspect of the invention is systems and methods of applying rates topackages for shipment with a carrier management system (CMS) wherein theCMS application is accessible at a local user's terminal that providesboth offline and online capability. Online mode is when the userterminal has a connection with a data center over a network, and offlinemode is when the user terminal is unable to connect or loses itsconnection with the data center over the network.

Another aspect of the invention is systems and methods of shippingpackages utilizing a carrier management system (CMS) wherein the CMSapplication is accessible at a local user's terminal that provides bothoffline and online capability. Online mode is when the user terminal hasa connection with a data center over a network, and offline mode is whenthe user terminal is unable to connect or loses its connection with thedata center over the network.

Another aspect of the invention is systems and methods of applying ratesto packages for shipment and shipping said packages with a carriermanagement system (CMS) wherein the CMS application is accessible at alocal user's terminal that provides both offline and online capability.The user terminal is located at a shipping facility such as, forexample, a MAIL BOXES ETC.®, THE UPS STORE®, KINKO′S®, etc. Online isdefined as said user terminal having a connection with a data centerover a network, and offline is defined as the user terminal unable toconnect with the data center over the network.

Yet another aspect of the invention is systems and methods of storingcarrier rating data, including custom contract and retail rates, locallyat a shipping location as well as on centralized data center servers.The locally-stored rating data allows the shipping location to processpackages when communication with the data servers is unavailable. Thelocally-stored rating is synchronized automatically with thecentrally-stored rating data when the communication with the data centeris restored, thereby allowing centralized maintenance of carrier ratingdata.

Another aspect of the invention is systems and methods of creatingcarrier package tracking information locally at a shipping location forshipping packages with a carrier management system (CMS) while saidshipping station is unable to connect with a CMS data center. Thelocally-stored package tracking information is synchronizedautomatically with the data center when the shipping location is able toconnect to the data center, thereby allowing centralized tracking ofpackages.

Another aspect of the invention is systems and methods of creatingcarrier shipping, traveler and receipt labels locally at a shippinglocation for shipping packages with a carrier management system (CMS)while said shipping location is unable to connect with a CMS datacenter. The locally-stored package label information is synchronizedautomatically with the data center when the shipping location is able toconnect to the data center.

Another aspect of the invention is systems and methods of universallogon for a user of a carrier management system (CMS) application thatat least in part resides on a local user terminal. The user logs on tothe CMS application through the local user terminal using logoncredentials established while the user terminal is connected with a CMSdata center. The CMS application automatically detects a connectionstate between the user terminal and the CMS data center and sends theuser to an offline mode when the user terminal is unable to detect aconnection between the user terminal and the CMS data center. In theoffline mode some features of the CMS application are deactivated,however, the user is still able to pre-process, process and shippackages in the offline mode.

Another aspect of the invention is systems and methods of a guest modeuser logon for a user of a carrier management system (CMS) applicationthat at least in part resides on a local user terminal. The guest modeallows the user to logon to the CMS application through the local userterminal when the user's logon credentials are not known or recognizedby the CMS application. In guest mode some features of the CMSapplication are deactivated and the guest mode allows the user to enterpackage shipping data that is stored for later retrieval and processing.

Yet another aspect of the invention is systems and methods of lockingout access to a carrier management system (CMS) application that atleast in part resides on a local user terminal after said user terminalis unable to connect to a CMS data center for a predetermined amount oftime (a lockout mode). The lockout mode helps ensure that a user of theuser terminal is provided with current service offerings and rates ofthe CMS application.

Another aspect of the invention is the systems and methods of the abovedescribed lockout mode, wherein an unlock key allows access to use ofthe CMS application at the locked user terminal when access is required.

Another aspect of the invention is a carrier management system (CMS)capable of operating from a user terminal while said user terminal isconnected (online) to or disconnected (offline) from a CMS data center.The CMS application integrates online and offline modes by automaticallydetecting the connection state of the user terminal and automaticallysynchronizing package data when the user terminal is online, whichthereby allows local processing of packages while maintaining theadvantages of central storage of shipping information.

Another aspect of the invention is a carrier management system (CMS)capable of operating from a shipping location while the shippinglocation is connected (online) to or disconnected (offline) from a CMSdata center. The CMS application maintains user privileges andpreferences that are created online while offline and allows enterpriselevel maintenance of privileges via a web based administrator whilestill allowing offline processing for business continuance.

Yet another aspect of the invention is a carrier management system (CMS)capable of operating from a shipping location while the shippinglocation is connected (online) to or disconnected (offline) from a CMSdata center. The CMS application automatically disables any unsupportedfeatures while offline and automatically displays available servicelevels (e.g. FedEx shows no shipping label on the rate list).

These, and other aspects of the invention are described in greaterdetail in the drawings and description herein.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 is an illustration of an exemplary carrier management system thatmay be utilized to practice aspects of the present invention;

FIG. 2 is an illustration of an exemplary shipping location comprised ofan administrator's station and one or more shipping stations, that maybe utilized to practice aspects of the present invention;

FIG. 2 a is an illustration of one embodiment of a computer that can beused to practice aspects of the present invention;

FIG. 2 b is an embodiment of a processing system having a distributedcommunication and processing architecture that may be used to practiceaspects of the present invention;

FIG. 3 is an illustration of a typical user terminal that may be used inone or more embodiments of the present invention;

FIG. 4A is an illustration of a user terminal such as that shown in FIG.3, which may be connected over a network to a data center, wherein thedata center is comprised of one or more web servers, one or moreapplication servers, and one or more database servers, in an embodimentof the invention;

FIG. 4B is an illustration of an embodiment of a user terminal, whichmay be connected over a network to a data center, wherein the userterminal is comprised of at least a communication module, asynchronization module, application files, rating files and shippingfiles, in an embodiment of the invention;

FIG. 5A is an illustration of a CMS operating in its normal online modewith a user terminal having a connection to a data center over a networkin an embodiment of the invention;

FIG. 5B is an illustration of a loss of a network connection between auser terminal and a data center of a CMS while the user terminal is ableto continue to process and ship packages in an embodiment of theinvention;

FIG. 5C is an illustration of an embodiment of the invention where thenetwork connection between the user terminal and the data center isrestored and the data stored on the user terminal for packages shippedwhile the user terminal was offline is synchronized with the datacenter;

FIG. 6 is an exemplary logon alert dialogue box that may be used in anembodiment of the invention;

FIG. 7A is an exemplary illustration of an “Offline Processing” menuitem that may be added to a Site Configuration menu of a CMS applicationin an embodiment of the invention;

FIG. 7B is an exemplary illustration of an offline processing panel thatis opened and displayed at the user terminal in an embodiment of theinvention;

FIG. 7C is an exemplary pop-up panel that is displayed at the userterminal when the “Recover” button of FIG. 5B is selected;

FIG. 7D is an exemplary download progress dialog box that is displayedat a user terminal when replacing offline processing files in a recoveryprocess, in an embodiment of the invention;

FIG. 7E is an exemplary download progress dialog box that is displayedat a user terminal when the offline processing files in a recoveryprocess have been downloaded to the user terminal, in an embodiment ofthe invention;

FIG. 8 is an exemplary Offline Expiration Warning dialog that isdisplayed at a user terminal when a user terminal has been operating anin offline mode for an extended period of time;

FIG. 9 is an exemplary locked dialog that is displayed at a userterminal when the countdown reaches zero for a user terminal that hasbeen offline indicating that the CMS application has been disabled, inan embodiment of the invention;

FIG. 10 is an exemplary unlock key dialog that is displayed at the userterminal when an unlock key button is selected on the locked dialog ofFIG. 16, the Unlock Key dialog is used to determine the initial valueneeded to generate the unlock key for the user terminal, in anembodiment of the invention;

FIG. 11 is an exemplary illustration of a screen for processing apackage in a typical CMS application, wherein the CMS application isoperating in offline mode in an embodiment of the invention;

FIG. 12 is an exemplary illustration of a screen displayed on a userterminal for pricing a package in a typical CMS application, wherein theCMS application is operating in offline mode, in an embodiment of theinvention;

FIG. 13 is an exemplary Check Connection Status panel that is displayedat a user terminal when a “Connection Check” function is selected,wherein a search for a connection between the user terminal operatingthe CMS application and a data center servers occurs, in an embodimentof the invention;

FIG. 14 is an exemplary “Lost Connection” alert that is displayed at auser terminal when a user attempts to logon to a CMS application inonline mode and a connection from the user terminal to the data centercannot be established or a connection to the data center is lost whilelogged on to the CMS application;

FIG. 15 is an exemplary Connection Found Initializing/Synchronizingalert that is displayed at a user terminal when a connection from theuser terminal to the data center is found after such connection had beenlost, in an embodiment of the invention;

FIG. 16 is an exemplary “Manual Connection Found” alert that isdisplayed on a user terminal when a manual connection check is requestedand a connection between the user terminal and the data center is found,in an embodiment of the invention;

FIG. 17A is an exemplary “Connection Re-established” alert that isdisplayed at a user terminal when a connection between a user terminaland the data center is re-established, in an embodiment of theinvention;

FIG. 17B as an alternative exemplary “Connection Re-established” alertthat is displayed at a user terminal if information about aninternational package that was prepared for shipment while the userterminal was offline is found in the locally stored user terminalpackage information, in an embodiment of the invention;

FIG. 18 is an exemplary mini logon dialog alert (a re-validation alert)that is displayed at a user terminal when a User ID and password are tobe entered when a connection between the user terminal and a data centeris to be re-established and the logon credentials used to logon to theCMS application in the offline mode do not match the credentials storedon the data center once a connection has been re-established, in anembodiment of the invention;

FIG. 19 is an exemplary Logon Failure alert that is displayed at theuser terminal if validation of logon credentials fails, in an embodimentof the invention;

FIG. 20 is an exemplary synchronize alert that is displayed at the userterminal when each of the following occur: rates are modified whileonline; Offline Processing is “On” for the account; or the Close buttonon the Modify Rates dialog is clicked, in an embodiment of theinvention;

FIG. 21A is a flowchart of a process for processing packages when a userterminal loses its ability to access a data center in an embodiment ofthe invention.

FIG. 21B is a flowchart of a process for synchronizing a user terminalthat is processing packages in the offline mode with a data center oncethe ability of the user terminal to access the data center is restored,in an embodiment of the invention.

FIG. 22 is a flowchart of a process of offline processing for packagesutilizing a CMS application in an embodiment of the invention; and

FIG. 23 is a flowchart of a process of offline processing for packagesutilizing a CMS application in an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The present inventions now will be described more fully hereinafter withreference to the accompanying drawings, in which some, but not allembodiments of the invention are shown. Indeed, these inventions may beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein; rather, these embodiments areprovided so that this disclosure will satisfy applicable legalrequirements. Like numbers, if referenced herein, refer to like elementsthroughout.

The present invention is described below with reference to blockdiagrams and flowchart illustrations of methods, apparatuses (i.e.,systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the block diagramsand flowchart illustrations, and combinations of blocks in the blockdiagrams and flowchart illustrations, respectively, can be implementedby computer program instructions. These computer program instructionsmay be loaded onto a general purpose computer, special purpose computer,or other programmable data processing apparatus to produce a machine,such that the instructions that execute on the computer or otherprogrammable data processing apparatus create means for implementing thefunctions specified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meansthat implement the function specified in the flowchart block or blocks.The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the block diagrams and flowchartillustrations, and combinations of blocks in the block diagrams andflowchart illustrations, can be implemented by special purposehardware-based computer systems that perform the specified functions orsteps, or combinations of special purpose hardware and computerinstructions.

Various entities provide carrier management systems for shippingparcels. Carrier management systems are generally network-delivered,multi-carrier shipping management systems that allow rate/servicecomparisons of various carriers, generate mailing/shipping labels andcollect and arrange data. Although there are several differentconfigurations and operating mechanisms for these systems, a basicconfiguration is shown in FIG. 1, which generally consists of one ormore user terminals 102 or shipping stations (generally clients) thatare connected over a network 104 to one or more servers that function asa data center 106. Generally, a user terminal 102 utilizes browser-basedsoftware to access a data center 106 over the Internet. The data center106 contains rating and/or shipping information for one or morecarriers. However, software other than browsers and networks other thanthe Internet may be used in the embodiments of this invention.

A user at a user terminal 102 may enter certain information about aparcel to be shipped such as, for example, the parcels weight,dimensions, destination, shipper, desired class of service (ground,overnight air, etc.), etc. Furthermore, certain business rules of theentity operating or controlling the user terminal 102 may be applied.Information may be entered into the user terminal 102 in a multitude ofways such as, for example, by the use of scales, scanners, keyboards,etc. Once some amount of information has been received by the userterminal 102, the user terminal 102 will access the data center 106 overthe network 104 for rating information and shipping information forvarious carriers that are participating in the carrier managementsystem. This rating and shipping information will then be presented to ashipper and the shipper may decide which carrier to use based on thepresented information. In this manner the shipper may be presented withvarious carrier options for shipping the parcel and may choose the onethat best meets the shipper's needs and/or budget.

A shipping location 200 may be comprised of one or more user terminals.For instance, a shipping location as shown in FIG. 2 may be comprised ofan administrator's station 202 and one or more shipping stations 204102. While the administrator station 202 and the shipping stations 102may serve as user terminals for conducting shipping business, theadministrator station manages shipping activities across the shippinglocation (a/k/a enterprise). For instance, the administrator station 202may contain, in some embodiments, a policy engine 206 that can specifybusiness rules and procedures for all shipping stations associated withthe enterprise. In the process of entering and shipping information andprinting labels, the policy engine 206 can automatically createcompliance with key policies and track compliance with the enterprise'sbusiness rules. The administrator station 202 may also be used tocollect a history of the enterprise's shipping transactions. Thishistory information 208 may be used create a number of shipping reports,including shipping activity by location, shipping activity by carrier,shipping activity by department, shipping activity by cost center, etc.

Various carrier management systems have been patented or have patentapplications pending. For instance, U.S. Pat. No. 5,631,827; issued toNicholls et al. on May 20, 1997 and U.S. Pat. No. 5,485,369 issued toNicholls et al. on Jan. 16, 1996; both fully incorporated herein andmade a part hereof, describe one such carrier management system. Anothersuch carrier management system is described in U.S. patent applicationSer. No. 09/684,869; filed on Oct. 6, 2000; U.S. patent application Ser.No. 09/684,865 also filed on Oct. 6, 2000; and U.S. patent applicationSer. No. 09/820,377 filed on Mar. 27, 2001 and published as UnitedStates Patent Application Publication No. 20020032573 on Mar. 14, 2002;each fully incorporated herein and made a part hereof.

Because of the architecture of these carrier management systems, a userterminal may be unable to operate or susceptible to failure and outagesin the event that a connection with the data center is not obtained,lost or impeded. In some instances, the shipper may be precluded fromprocessing and/or shipping parcels at a user terminal when the networkconnection with the data center is not obtained, lost or impeded. Theembodiments of the present invention overcome the challenges caused whenthe user terminal is unable to connect, loses its connection or has animpeded connection with the data center.

In several of the embodiments of the invention referenced herein, a“computer” or user station is referenced. The computer or user stationmay be, for example, a mainframe, desktop, notebook or laptop,hand-held, hand held device such as a data acquisition and storagedevice, etc. In some instances the computer may be a “dumb” terminalused to access data or processors over a network. Turning to FIG. 2 a,one embodiment of a computer is illustrated that can be used to practiceaspects of the present invention. In FIG. 2 a, a processor 1, such as amicroprocessor, is used to execute software instructions for carryingout the defined steps. The processor receives power from a power supply17 that also provide power to the other components as necessary. Theprocessor 1 communicates using a data bus 5 that is typically 16 or 32bits wide (e.g., in parallel). The data bus 5 is used to convey data andprogram instructions, typically, between the processor and memory. Inthe present embodiment, memory can be considered primary memory 2 thatis RAM or other forms which retain the contents only during operation,or it may be non-volatile 3, such as ROM, EPROM, EEPROM, FLASH, or othertypes of memory that retain the memory contents at all times. The memorycould also be secondary memory 4, such as disk storage, that storeslarge amount of data. In some embodiments, the disk storage maycommunicate with the processor using an I/O bus 6 instead or a dedicatedbus (not shown). The secondary memory may be a floppy disk, hard disk,compact disk, DVD, or any other type of mass storage type known to thoseskilled in the computer arts.

The processor 1 also communicates with various peripherals or externaldevices using an I/O bus 6. In the present embodiment, a peripheral I/Ocontroller 7 is used to provide standard interfaces, such as RS-232,RS422, DIN, USB, or other interfaces as appropriate to interface variousinput/output devices. Typical input/output devices include localprinters 18, a monitor 8, a keyboard 9, and a mouse 10 or other typicalpointing devices (e.g., rollerball, trackpad, joystick, etc.).

The processor 1 typically also communicates using a communications I/Ocontroller 11 with external communication networks, and may use avariety of interfaces such as data communication oriented protocols 12such as X.25, ISDN, DSL, cable modems, etc. The communicationscontroller 11 may also incorporate a modem (not shown) for interfacingand communicating with a standard telephone line 13. Finally, thecommunications I/O controller may incorporate an Ethernet interface 14for communicating over a LAN. Any of these interfaces may be used toaccess the Internet, intranets, LANs, or other data communicationfacilities.

Finally, the processor 1 may communicate with a wireless interface 16that is operatively connected to an antenna 15 for communicatingwirelessly with another devices, using for example, one of the IEEE802.11 protocols, 802.15.4 protocol, or a standard 3G wirelesstelecommunications protocols, such as CDMA2000 1x EV-DO, GPRS, W-CDMA,or other protocol.

An alternative embodiment of a processing system that may be used isshown in FIG. 2 b. In this embodiment, a distributed communication andprocessing architecture is shown involving a server 20 communicatingwith either a local client computer 26 a or a remote client computer 26b. The server 20 typically comprises a processor 21 that communicateswith a database 22, which can be viewed as a form of secondary memory,as well as primary memory 24. The processor also communicates withexternal devices using an I/O controller 23 that typically interfaceswith a LAN 25. The LAN may provide local connectivity to a networkedprinter 28 and the local client computer 26 a. These may be located inthe same facility as the server, though not necessarily in the sameroom. Communication with remote devices typically is accomplished byrouting data from the LAN 25 over a communications facility to theInternet 27. A remote client computer 26 b may execute a web browser, sothat the remote client 26 b may interact with the server as required bytransmitted data through the Internet 27, over the LAN 25, and to theserver 20.

Those skilled in the art of data networking will realize that many otheralternatives and architectures are possible and can be used to practicethe principles of the present invention. The embodiments illustrated inFIGS. 2 a and 2 b can be modified in different ways and be within thescope of the present invention as claimed.

A typical user terminal that may be used in one or more embodiments ofthe present invention is shown in FIG. 3. The embodiment of a userterminal 102 of FIG. 3 is comprised of a personal computer 302 having amouse 304 and a keyboard 306. Also included in this particularembodiment is a scale 308 for weighing parcels and a barcode labelprinter 310 for printing mailing/shipping labels. This user terminal 102also includes a report printer 312. As shown in FIG. 4A, a user terminalno 102 such as that shown in FIG. 3 may be connected over a network 104to a data center 106. The data center 106 in the embodiment shown inFIG. 4A is comprised of one or more web servers 406, one or moreapplication servers 408, and one or more database servers 410, thoughthere are numerous other possible configurations for data centers.

FIG. 4B is an illustration of an embodiment of a user terminal 102,which may be connected over a network 104 to a data center 106, whereinthe user terminal 102 is comprised of at least a communication module414, a synchronization module 416, application files 418, rating files420 and shipping files 422, in an embodiment of the invention. Thecommunication module 414 of FIG. 4B enables the user terminal 102 toreceive and transmit information, data, files, applications, etc. withthe data center 106 over the network 104. The application files 418include at least a portion of the CMS and allow a user at the userterminal 102 to process and/or ship packages in the online or offlinemodes (discussed further herein). The user terminal 102 also includes atleast rating files 420 and shipping files 422. The rating files 420 areused to store rating information for carriers that are supported in theoffline mode. The information contained within the rating files is usedto apply a shipping cost to packages when the user terminal 102 isunable to access the data center 106. The shipping files 422 include thepreference settings for the user terminal 102 and the CMS. The shippingfiles also include information about shipping transactions that areprocessed in the offline mode, such information may include, forexample, package weight and dimensions, address data, “bill to” data,international information, international data, commodity data, carrierand class of service, local retail rates, etc.

The synchronization module 416 provides for the update of applicationfiles 418 in the online mode and the synchronization of the applicationfiles 418, rating files 420, and shipping files 422 when access to thedata center 106 from the user terminal 102 is restored after an outage.

In the embodiments of the present invention, certain features of thecarrier management system will be disabled at a user terminal when anetwork connection between the user terminal and a data center isunavailable, lost or impeded. Although some features may be disabled,the user will be able to rate all or certain participating carriers andtheir services, pre-process and/or ship packages. In one embodiment, theuser will receive time in transit and extended area data for allpackages that can be shipped in offline mode, where extended area datais used to calculate additional shipping surcharges primary for ruraldelivery locations.

Access to offline processing may also be limited based on the number ofhours used offline. This may be accomplished by preventing access to(i.e., “locking out”) the offline mode after the user has used theoffline mode for a pre-determined and configurable amount of time. Auser may overcome being locked out because access to the offlineprocessing application is available through a guest password even afterlock-out. In an embodiment of offline processing, an unlockfunctionality is available that provides for access after lock-out forcases where a user is legitimately offline for an extended period oftime.

Carriers that are activated for the selected shipping location whenconnected to the data center (i.e., “online”), are capable of beingsupported for user terminals associated with that shipping location whenoperating in the offline mode. While some features that are available inthe online mode may not be available when the user terminal operatesoffline, generally all the essential services for supported carrierswill be available and local retail rates for supported services will beavailable. For shipments created in offline mode a unique identifiersuch as, for example, a valid package tracking number, one is generatedfor each offline shipment. While in the offline mode, generated packagedata is stored on the user terminal and a traveler label (as describedherein) or a shipping label is generated for the package. In oneembodiment, particular information about a package such as a transactiontype identifier (“ID”) of “offline” will be stored for shipments createdin the offline mode. This information may be stored in one or moredatabases (electronic or otherwise) containing shipment records for eachpackage, as such databases are used for shipping purposes such as, forexample, a package level detail (PLD) database as is used by UPS ordatabases residing on the user terminal. For some carrier managementsystems, this will be a new transaction type ID that will be created toidentify shipments that originated in offline mode. In one embodimentand for security purposes, the transaction type ID will not be updatedif the shipment record is edited or modified. This is more fullydescribed below.

The full complement of services offered in the online mode of the CMSmay or may not be offered in the offline mode. For instance, if all thecarriers participating in the online mode of the CMS offer domestic andinternational shipping services, then full rating and shipping may besupported offline for all domestic and international for only a subsetof all participating carriers, or it may be available for allparticipating carriers. A shipping label is generated in the offlinemode only when a carrier account is active and commissioned for theshipping location while in the online mode. Time in transit data andcalculations are generally supported for shipments made during theoffline mode. For instance, and as an example, air time in transit datais derived from the UPS Air Commit database and exact time in transitdata will be available for all domestic services except UPS Ground.Estimated time in transit data will be used for all UPS Ground shipmentswherein time in transit for Ground shipments will be estimated as Zoneminus 1 day(s). Generally, though, while in offline mode the time intransit information for shipments will be displayed as “not guaranteed”in the CMS's rate list. Estimated time in transit data will be generallybe used for international shipments and their time in transit will bedisplayed as “not guaranteed” in the CMS's rate list. The decisionwhether more or less accurate time in transit calculations are doneoffline depends on the complexity of the carrier's time in transitalgorithm and the size of the data files need to support calculations.

Offline Shipping Records

A carrier tracking number that is valid for the selected/specifiedcarrier is generated for each offline shipment. If possible, thetracking numbers are randomized, as is generally implemented for onlineshipping in a CMS. Business rules for editing shipped packageinformation are maintained in offline mode. For instance, business rulesmay require that once a package has been shipped, if that package'srecord information is edited, then the original package record is voidedand a new record created for that shipment. A new carrier trackingnumber will be assigned to the new package record. A new package recordand carrier tracking number will be created for each shipped and editedpackage when: a package is shipped in offline mode and edited in offlinemode; a package is shipped in offline mode and edited in online mode;and, a package is shipped in online mode and edited in online mode.

Shipping labels may be generated when a package is shipped in offlinemode. A shipping label produced offline will include the correctcarrier's routing code for the shipment. In one embodiment, forinternational shipments, a Power of Attorney label is generated, ifneeded.

Package data for shipped packages is stored on the workstation until theconnection is restored and synchronization occurs. The transaction typeID will be set to “offline” for packages shipped in the offline mode.Generally, estimated time in transit data will be used for allshipments. The current methodology of each supported carrier used forestimating time in transit will be maintained for all supportedservices; however, shipments will be displayed as “not guaranteed” inthe CMS's rate list.

A general illustration of the operation of an embodiment of theinvention is shown in FIGS. 5A, 5B, and 5C. IN FIG. 5A, a CMS isoperating in its normal online mode with a user terminal 102 having aconnection to a data center 106 over a network 104. In FIG. 5B, thenetwork connection between the user terminal 102 and the data center 106is lost, in this instance by a break 508 in the network 104. Even thoughthe network connection between the user terminal 102 and the data center106 is lost in FIG. 5B, the user terminal 102 is able to continue toprocess and ship packages because of the offline processing capabilitiesof an embodiment of the present invention. In FIG. 5C, the networkconnection between the user terminal 102 and the data center 106 isrestored and the data stored on the user terminal 102 for packagesshipped while the user terminal 102 was offline is synchronized with thedata center 106 by use of a synchronization module (not shown), whichmay be located at the data center 106 or the user terminal 102.

Traveler Labels

For some carriers, actual shipments of packages while the CMS is offlinemay not be supported. However, such carriers may allow the use oftraveler labels. Traveler labels are generated in accordance with thebusiness rules and preferences of the entity controlling the CMS and thecarrier. A traveler label is a label that is not used for shipping of apackage but provides a cost estimate for shipping of the package and maybe used to quickly recall the package information when the CMSapplication is able to re-connect to the data center. In one embodiment,UNITED STATES POSTAL SERVICE® (USPS®) packages may be pseudo-shipped anda generic shipping label generated, where pseudo-shipping indicates thatpostage is not applied at that point in the shipping process, but wouldbe applied later by a separate postage meter. UNITED STATES POSTALSERVICE and USPS are registered trademarks of the United States PostalService. If a tracking number is required for the shipment, a waybilldialog for creating such a tracking number is displayed at the userterminal. A user's generic address label preference item is honored inthe offline mode. Package data for offline pre-processed packages willbe stored on the workstation until the connection is restored. Thetransaction type ID is set to “offline” for such pre-processed packages.

Drop-Off Packages

Drop off packages features will be supported while in offline mode.These features include packages that are packed and labeled by theshipper and brought to a facility having a CMS application for shipment.All carriers participating in the online CMS will be supported foroffline CMS for drop-off packages. Package data for drop off packages isstored on the user terminal until a connection between the user terminaland the data center is restored. The transaction type ID of a drop-offpackage will be set to “offline.”

Offline Storage

Application Files

Application, rating, and shipping files that enable offline processingof packages in the offline mode are stored on each installed CMS userterminal. Files are stored in a secure location in the user terminal'smemory (e.g., hard drive). Required files are generally not storedlong-term in the user's browser cache so that deleting the browser'scache should not adversely affect offline processing files stored on theuser terminal.

Logon Functions

Users should be able to perform the following functions while offline:logon; price a package; process a package; print labels, which includescarriers' shipping labels, traveler labels, power of attorney labels,and receipt labels; save package information; find transactions; editthe last transaction; edit a transaction; void the last transaction;void a transaction; recall a voided transaction; reprint the lasttransaction; reprint a transaction; enter a drop-off package; generatereports/international documentation; modify peripheral settings such as,for example, scales and printers preference settings; obtain help foroffline processing (offline help is specific to offline processing sothat a CMS's entire help library is not required to be stored locally);and, obtain support information.

Shipping preferences (e.g. label printer settings) established whileonline are supported while offline. While offline, find dialogs of theCMS application return results only for transactions created during thecurrent offline session, which allow a user to find, edit transactions,void transactions, recall voided transactions, reprint transactions,etc. that occurred while the user terminal was offline.

Tracking Numbers

A participating carrier's tracking reference number range is stored oneach installed workstation. The tracking reference number range is usedto create valid package tracking numbers for the participating carriers.The tracking reference number may comprise a part of a package trackingnumber, may be used to create a package tracking number, or may be theentire package tracking number. For instance, the UPS tracking referencenumber is positions 11-17 in a UPS “1Z” package tracking number. This isthe part of the UPS tracking number that is incremented with each newpackage. In one embodiment, a block of unique reference numbers arestored on each user terminal to ensure that unique tracking numbers arecreated by multiple user terminals linked to the same carrier account(generally, package tracking numbers should be unique over at least asix month period). The tracking reference number range thus becomes auser terminal setting. The range is stored with the user terminalsettings on the data center servers. The range is stored with the userterminal settings on the client (i.e., user terminal). In oneembodiment, blocks of 10,000 numbers are stored on each installed userstation, though the stored numbers may be selected randomly by the CMSapplication. For each carrier account, a given block of numbers isassigned to only one workstation. In one embodiment, tracking referencenumbers beginning with the digits 5, 6, 7, 8, or 9 are reserved foroffline use and tracking reference numbers beginning with the digits 0,1, 2, 3, or 4 are reserved for online use.

Synchronizing Files

Applicable files are downloaded to each user terminal duringinstallation of the offline processing capability, or otherwise storedin the user terminal's memory (e.g., by installation from CD-ROM,diskettes, etc.). The retail rates and preference settings that areassociated with the current user's shipping location are synchronized onthe client. If a user associated with a different shipping location haspreviously logged onto the client, then that user's settings may beoverwritten. All files stored on the user terminal are automaticallysynchronized on logon when in online mode and when a connection to thedata center is restored if the user terminal (i.e., client) has beenoperating offline. Files on the local user terminal that are out of dateare replaced with current files from the data center.

Application Files

Application files residing on the client (i.e., user terminal) are alsosynchronized with the data center during online processing. Filesnecessary to run the CMS application at the user terminal aresynchronized with data center files. Policy elements (i.e., businessrules) used in offline mode are also synchronized with the data centerduring time of online processing. User terminal settings used in offlinemode are synchronized with data center files during periods of onlineprocessing. Rating files including local retail rates for all carrierssupported for that user terminal are synchronized with data center filesduring periods of online processing. Shipping files for carriers arealso synchronized if the user terminal installation includes an activeand commissioned account for that carrier.

Data Files

When the CMS application is offline, information about each shippingtransaction conducted during that offline period is stored locally (atthe shipping location). Offline data files may be stored in the existingoffline rating directory. The storage location is a configurable valuefor each shipping location. Each stored transaction includes datarecorded for each shipment, including but not limited to the followingdata elements (note that for each shipment stored, there may be multiplecommodities, including multiple packages per shipment): package weightand dimensions; address data, including bill to data, internationalinformation, international data and commodity data; carrier and service;accessorials; and, local retail rates.

Synchronization

When a connection from a user terminal to the data center is restored,then the locally-stored transactions are synchronized with the datacenter's database. In one embodiment, synchronization is metered toprevent interruption of shipping processes. Synchronization occurs whenan offline client is re-connected to the data center and a client logson to the data center. The client is not returned to online mode untilthe local transactions are synchronized with the data center. Untilsynchronization is complete, the client continues to process shipmentsoffline. Logon credentials are re-validated before local data files aresynchronized. Once the offline transactions are uploaded and confirmed,the user terminal is then returned to online mode. If a client has anincomplete, but already rated, transaction in place when the client isreturned to online mode, then that transaction is re-rated (using datacenter rates) before shipping is allowed. When the online connection isre-established, all locally stored transactions are uploaded to the datacenter's database. Once synchronized, locally stored transactions areremoved from the offline rating directory.

Shipments Made Offline

Shipments that are made during offline processing will be added to theappropriate carrier's manifest during synchronization. The shipmentswill be added to the manifest with the matching “ship date” and carrieraccount number. If no manifest exists for a particular carrier'sshipments, a new manifest will be created for those shipments, in whichcase a “No Manifest Warning” message will be displayed. All shipmentsshipped offline will be re-rated. Rating data will be added to eachpackage record. Rating data includes cost rating data, published ratingdata, and expected delivery date and time. Retail rates stored with thelocal file are not overwritten when the shipment is re-rated. Retailrates as created on the local workstation (i.e., user terminal) will bemaintained.

Some CMS systems prepare and send shipment notification messages tointended recipients. These messages may be in the form of an email,facsimile, paging signal or some other electronic transmission. Shipmentnotifications will be prepared and sent if the shipment was processedfewer than 24 hours or other configurable time period from the uploadtime, the ship date is the current date, or the ship date is in thefuture. Shipment notifications for older shipments (outside of theconfigurable time period) will not be sent.

Also, some CMS systems prepare and send delivery notification messagesto shippers. These messages may also be in the form of an email,facsimile, paging signal or some other electronic transmission. Deliverynotifications will be prepared and sent if the package has not beendelivered as of the upload time or the package was delivered within 24hours (or other configurable time period) of the upload time.

Universal Logon

Online Logon

Universal logon is available on the data center's servers. Universallogon comprises systems and methods where a user logs on to a CMSthrough the local user terminal using logon credentials establishedwhile said user terminal is connected with a CMS data center. Softwareof the present invention automatically detects a connection statebetween the user terminal and the data center and sends the user at theuser terminal to an offline mode when the user terminal is unable todetect a connection between the user terminal and the data center. Inthe offline mode, some features of the CMS application are deactivated,as further described herein, however the user is still able topre-process, process and ship packages in the offline mode at the userterminal.

Applications residing on the data center's servers, other than the CMSapplication that resides at least in part on the user terminal, areavailable only while online. Online refers to the ability of the userterminal to access the data center over a network and for the userterminal and the data center to communicate with one another. Thenetwork may be wired, wireless, optical or combinations thereof. Anexample of the network would be the Internet, though other networks maybe used. Offline processing is available from user terminals havingoffline processing capability of a CMS application. Offline processingfor CMS applications is generally only installed at user locations onlywhile such user locations are online. All offline files are synchronizedeach time a user logs on to a user terminal while a user terminal isonline with the data center. Offline files that will be synchronizedwith the data center include application files, locally storedtransactions, rating files, and shipping files.

Offline Logon

In one embodiment, universal logon is available for a CMS applicationwhile offline. If the data center is not available, then offline logonwill be allowed for the CMS. Offline logon is available at the userterminal for the CMS application. For instance, in one embodiment,Professional Shipping Station (PSS) TM or Counter Manifest System TM asthese systems are offered by iShip Inc. of Bellevue, Wash., will beavailable in the application drop down list at the user terminal. Whenoffline, the user's logon credentials will be validated against the usernames and passwords stored on the user terminal. If the data center isavailable, then the user's credentials will be validated against theonline user database. Any user who has successfully logged onto a userterminal while in online mode may logon to that user terminal while inoffline mode if an offline mode privilege is “on” for the user. Theuser's logon credentials will be stored on the local machine. The user'slogon credentials include the user's logon name; the user's password(usually encrypted); and, the user's enterprise ID (if in an enterpriseapplication). If the offline mode privilege is “off” for the user, thenthe logon credentials will not be stored on the local machine and theuser will not be able to logon to the user terminal in offline modeusing the user's password and ID. A user may not change their passwordwhile in offline mode. If a user changes their password while in onlinemode, the locally stored credentials will be updated with the newcredentials. Only users who successfully log into the CMS applicationwill be stored as offline users on the user terminal. Offline logon maybe disabled for a user terminal.

Locking Offline Logon

Offline logon is locked for a given user terminal when the user terminalhas run in offline mode and the user terminal has not reconnected to thedata center after a configurable number of hours specified in an offlineprocessing expiration policy element (a/k/a “offline expiration”).Offline expiration is further described herein. Locking offline logon isindependent of the user logging onto the CMS application. If offlinelogon has been locked for the user terminal then the universal logonscreen will continue to be available. When a user station is locked anda user attempts to logon, a locked dialog will be displayed to the user.

Guest Logon

A “guest user” logon will be available when the data center isunavailable. The “guest user” will be available for enterprise accountsfor which the allow guest mode policy element is “on.” A guest logonname and password will be allowed on each installed user station havingoffline processing capabilities. A “guest user” may have, for example, alogon name of “Guest” and a password of “Guest.” The “guest user” logonwill be available when offline logon has been locked.

A guest logon alert is displayed when a connection cannot be establishedto the data center, a user attempts to logon and his/her logoncredentials cannot be verified locally, and the allow guest mode policyelement is “on.” If the allow guest mode is “off” for the user and iflogon validation fails, standard error handling will occur. In oneembodiment, the Guest Logon alert contains the text and controls shownin FIG. 6. FIG. 6 is an exemplary logon alert dialogue box 600. TheLogon alert has a title 602 of “Logon Alert” and contains the followingtext: informative text 604; help button 606; and OK button 608.

The informative text 604, in one embodiment, is: “Your User ID andPassword cannot be verified at this time”. Currently, <the CMSapplication> is unable to connect to the data center. The application isonly able to verify users who have previously logged on to this userterminal. Please try your logon again or logon as ‘Guest.’ Logging in as‘Guest’ will allow you to rate and save packages until a connection tothe data center is re-established. Enter the following on the Logonpage:

-   User ID: Guest-   Password: Guest-   Call support for assistance: <CustomSupportNumber>    “Click Help for more information.” Where <the CMS application> is    the name of the carrier management system residing at least in part    on the user terminal, in this instance, Carrier Manifest System TM.

The Help button 606 is defined as having a button label of “Help” and ahotkey of “H.” When clicked, an “Offline Help” file or files open andthe logon alert remains open.

When the OK button 608 is clicked, the logon alert dialogue box 600closes and the user is returned to the logon page.

The CMS application opens in guest mode when a connection to the datacenter cannot be established or a user enters “guest” logon credentials(i.e., the entered User ID is “Guest” and/or the entered Password is“Guest”). The CMS application should not open in guest mode when aconnection to the data center is found.

Offline Expiration

Offline Mode Privilege

A policy element may be added at the enterprise, organizational unit(OU), and user levels of the CMS application to control whether or notthe CMS application may function offline. An offline privilege checkboxis added to the CMS application's “User Privileges” panel. The checkboxlabel may be “Offline Processing” and the default state may be“checked.” When checked, logon credentials (as previously described) arestored on each local user terminal. When unchecked, logon credentialsare not stored on the local workstation.

In one embodiment, an offline processing drop-down menu item is added tothe site configuration menu item of the CMS application at the userterminal and the menu item label is “Offline Processing.” An exemplaryillustration of this menu item 700 is shown in FIG. 7A. In FIG. 7A, thehotkey 702 for executing the offline processing is “O”. When selected,the offline processing panel as shown in FIG. 7B opens and is displayedat the user terminal. FIG. 7B illustrates and exemplary offlineprocessing panel for display on a user terminal in an embodiment of theinvention. The offline processing panel 704 as shown in FIG. 7B isdefined as having a dialog title box 706 of “Offline Processing.” Theoffline processing panel 704 of FIG. 7B contains the following:explanatory text 708; recover button 710; and a close button 712.

The explanatory text 708, in an embodiment of the invention, is:“Offline Processing <the CMS application> will continue to function inan offline mode if a data center connection cannot be established. Thefiles necessary to function in an offline mode will be stored on thisuser terminal. Each time you logon, the files will automaticallysynchronize. Click the recover button below only if your offlineprocessing files are corrupt or a support technician asks you to. Ifsome of your offline files have been deleted, log off and log back on tothe <CMS application> to refresh the files.” <The CMS application> isthe application name for the carrier management system.

In one example, the recover button 710 is labeled as “Recover FilesNow.” The hotkey for the recover button 710 is “R.” Instructional textassociated with the recover button 710 that displays near the button, inone example, is “Download and replace ALL Offline Processing files.NOTE: This is a substantial download, up to <X> MB.” Where <X>=thelargest download size possible for all offline processing files. Whenthe recover button 710 is clicked a confirmation pop up panel 714 asshown in FIG. 7C is displayed at the user terminal. The offlineprocessing panel remains open behind the confirmation pop up 714. Thetext associated with the confirmation pop up 714 provides that “Recoverrequires the data center to download and replace all of your OfflineProcessing files on this user terminal. This may take some time. <theCMS application> will not be available while the files are downloading.Are you sure you want to continue at this time?”

If “No” is selected by the user, then the confirmation pop-up 714 closesand the user returns to the offline processing panel. If “Yes” isselected by the user, then the confirmation pop-up 714 closes, theoffline processing panel closes, and all offline processing files areremoved from the user terminal. Once all offline processing files areremoved from the user terminal, all offline processing files aredownloaded and stored on the workstation. As shown in FIG. 7D, adownload progress dialog box 716 opens. In one example, the text for thedownload progress box 716 is “Downloading Offline Processing files . . .” When the Offline Processing files have been downloaded, the DownloadProgress dialog box 716 reflects the status of the download with thetext 718: “Download Complete. All Offline Processing files have beendownloaded,” as shown in FIG. 7E.

Offline Mode

An offline expiration policy element controls the amount of time (e.g.,how many hours) the CMS application may function in offline mode beforethe application is locked and no longer accessible in the offline mode.The number of hours set in the offline expiration policy element isselective and may be stored on the workstation. When the CMS applicationgoes offline, an expiration countdown begins on the workstation. Thenumber of hours in the expiration countdown equals the number of hoursset for the Offline Expiration policy element plus the number of hoursfrom the time that CMS application went offline until 8:00 AM local timethe following morning. For example, if the Offline Expiration policyelement is 48 hours and the CMS application goes offline at 3:00 PM,then the countdown will be 48 hours+17 hours, equaling a total of 65hours. The time that the CMS application goes offline is gathered fromthe user terminal's clock. When a connection is re-established, thecountdown clock is stopped and reset. The countdown is not stopped if auser logs out or exits the CMS application while in the offline mode,the countdown is continuous from the moment the CMS application goesoffline until a connection is re-established. In one embodiment,specified time intervals cause an Offline Expiration Warning dialog todisplay. When the countdown reaches zero, the CMS application isdisabled completely and users are prevented from logging on to the CMSapplication at the user terminal. The CMS is closed, if it is open atthe time it is disabled.

The offline expiration policy element may be added at enterprise and OUlevels to control how long a shipping location may function in theoffline mode. OU levels may be used in a corporation with manydepartments and geographic locations where it is useful to divide up theusers into different organization units based upon department and/orgeographical affiliations. The top level of control of an organizationalunit is the enterprise level. An offline expiration drop-down list, forinstance, may be added to the CMS application's “Application Settings”panel. The drop-down list may contain, for example, the followingnumbers in ascending order: 24, 48, 72, 96, 120, 144, and 168. In oneembodiment, the default selection may be “48.” The number selectedrepresents the number of hours that a shipping location is allowed tofunction in offline mode before all offline application functionality isdisabled, as described above.

Offline Expiration Warning

An Offline Expiration Warning dialog 800 as shown in FIG. 8 is displayedat the user terminal when a user terminal has been offline for anextended period of time. The Offline Expiration Warning dialog 800displays cyclically during the countdown period. For instance, thewarning may display once every 24 hours from the time the expirationcountdown begins until 30 minutes before expiration. When the countdownreaches 30 minutes before expiration, the Expiration Warning dialog 800displays, for example, at the following intervals: 30 minutes beforeexpiration, and then two minutes before expiration.

The Offline Expiration Warning dialog 800 has, in one embodiment, alayout as shown in FIG. 8. The dialog title 802 is “Offline Warning.”The Offline Expiration Warning dialog 800 contains the followingcontrols: informative text 804, Help button 806, Check Connection button808, OK button 810, and OK countdown 812.

The informative text 804 may be, for example, “This workstation has beenoffline for an extended period of time. Proper shipment processing,billing, and tracking can be adversely affected if a connection is notre-established soon. For security purposes, this Workstation will bedisabled if a connection is not re-established in <Countdown>. If youare unable to re-establish a connection by that time, you must callsupport for assistance: <CustomSupportNumber>. Click Help for moreinformation.” Where <Countdown> is the time left before the applicationis disabled as determined by a configurable setting. Generally, thecountdown displays in whole hours unless there is less than one hourbefore the application is disabled. The word “hours” displays to theright of the number of hours. If there is less than one hour before theapplication is disabled, then the countdown displays in whole minutes.The word “minutes” displays to the right of the number of minutes ifthere is less than one hour before the application is disabled. Where<CustomSupportNumber>=the custom Support number specified for theaccount.

The Help button 806 may be defined as having a button label of “Help”and a hotkey of “H”. When the Help button 806 is clicked, Offline Helpopens and the Offline Expiration Warning dialog 800 remains open. Whenthe OK button 810 is clicked, the Offline Expiration Warning 800 closes.If logging on, the user is directed to their default page. If the CMSapplication was already open, then the user is returned to theiroriginal location within the application.

The OK countdown 812 is defined as being displayed on a side of thebutton bar on the user terminal display. The countdown starts at aspecified time such as, for example, 5 minutes, and when the countdownreaches zero, the Expiration Warning dialog 800 closes.

Offline Expiration

When the countdown reaches zero for a user terminal that has beenoffline, the “locked dialog” 900 as shown in FIG. 9 is displayed. Thelocked dialog 900 displays when the CMS application has been disabledand the user attempts to logon or when the CMS application is disabledwhile the user is still logged on.

The locked dialog 900 is, in one embodiment, defined as having thelayout as show in FIG. 9. The dialog title 902 is “Workstation Locked.”The Locked dialog 900 contains the following controls: informative text904, Help button 906, OK button 908, and Unlock Key button 910.

The Informative text 904 may be, for example: “A connection to <the CMSapplication> was not re-established in the allotted time. For securitypurposes, this Workstation has been locked. We apologize for anyinconvenience. All functionality will be restored when your connectionis re-established. To restore offline functionality immediately, youmust call support for assistance: <CustomSupportNumber>. Click Help formore information.” Where <CustomSupportNumber>=the custom Support numberspecified for the account.

The Help button 906 is defined as having a button label of “Help” and ahotkey of “H.” When the Help button 906 is clicked, Offline Help isopened and the Locked dialog 900 remains open.

When the OK button 908 is clicked, the Locked dialog 900 closes and theCMS application exits, if it was open. The user is then directed to theuser terminal's user interface.

The Unlock Key button 910 is defined as having a button label of “UnlockKey” and a hotkey of “U.” When the Unlock Key button 910 is clicked, theUnlock Key dialog opens and the Locked dialog 900 remains open.

Guest Mode Privilege

A policy element may be added at the enterprise and OU levels to controlwhether or not the CMS application may function in guest mode, aspreviously described, once it has been locked out by the offlineexpiration element. An “Allow Guest Mode” privilege checkbox may beadded to the “Application Settings” panel. The checkbox label may be“Allow Guest Mode” and the default state is “checked.” When checked,guest mode privileges are permitted for shipping locations within thataccount. When unchecked, guest mode privileges are not permitted forshipping locations within that account.

Unlock Mode

Unlock Key

A “back door” is provided into the offline processing for a CMSapplication for all installed clients. The intent of the “back door” isto allow an extension of full offline mode in case of a legitimateextended outage. However, this “back door” should be useable only inlimited cases when an extended outage occurs; therefore, the unlock keyshould change with each use. A user who wishes to continue in offlinemode after the expiration of offline processing should call a supportservices provider, who calculates the unlock key for that user'ssession. The unlock key will be calculated from an initial value.

An unlock key is provided for a user terminal. The unlock key isavailable for use at a user terminal when the data center isunavailable, offline logon has been prevented for the user terminal, andthe user terminal has connected to the data center within a certainperiod of time (e.g., the past 30 days). Unlock functionality will bedisabled (e.g., “expiration”) after the user terminal has been offlinefor the designated period of time, or longer (e.g., 30 days).

When the Unlock Key button 910 is clicked on the Locked dialog 900, anexemplary Unlock Key dialog 1000 as shown in FIG. 10 opens. Theexemplary Unlock key dialog 1000 in FIG. 10 contains instructions 1002,initial value 1004, unlock key text-entry field 1006, unlock button1008, and cancel button 1010.

Operating in the Offline Mode

When a data center connection cannot be established, the CMS applicationretains the functionality as described below. The functionality of theoffline processing system occurs through one or more applicationsresiding on the local user terminal with no reliance on the datacenter's servers. When a connection to the data center's servers cannotbe maintained or established, the CMS application functions in anoffline mode. The offline mode retains limited functionality of theonline CMS application, as described herein.

FIG. 11 is an exemplary illustration of a screen 1100 for processing apackage in a typical CMS application, wherein the CMS application isoperating in offline mode, in an embodiment of the invention. In thisexample, the CMS application is UPS Customer Center ProfessionalShipping Station, although other CMS applications may be used. Referringto FIG. 11, when in the offline mode, the displayed alert message 1102is “No Connection Established: OFFLINE.” The text of the alert messagein one embodiment may be bold red so as to be conspicuous, though othercolors and/or fonts may be used. The functionality of the offlineprocessing application occurs on the user terminal and reliance on thedata center servers is not required. The help files 1104 that areaccessible in the offline mode generally contain offline-specific topicsonly. When in the offline mode, addresses 1106, 1108 may not be saved inthe user's online address book. Also while in the offline mode,commodities are not saved. In this usage, “commodities” refers to a listof the description of goods contained inside an international shipmentand may be useful and/or required for customs purposes. While in theoffline mode, the CMS application will rely on the clock of the userterminal for delivery dates and times, rather than the data centerclock. Shipping labels for some or all of the supported carriers will beavailable. Address verification and validation is disabled for alladdresses (i.e., the validation state for each new address is “NotValidated”). A search for a package record does not occur if a value isentered into the PSO/EPSO/Package Number field 1110 on the process apackage page 1100 and automatic searching is disabled in the OfflineMode. The PSO/EPSO/Package Number is a unique number that identifies apackage/shipment but that is different than the carrier tracking number.

In the embodiment of FIG. 11, the following controls are grayed out andunavailable when CMS application is operating in the Offline Mode: thePSO/EPSO/Package Number Find button 1112; (the find mechanism for thePSO/EPSO/Package Number text-entry field 1110 is disabled); the ShipFrom Nickname/Telephone text-entry field 1114; the Ship From Find button1116; the Ship To Nickname/Telephone text-entry field 1118; and, theShip To Find button 1120. Other screens (not shown in FIG. 11), may haveother fields grayed out, including the Save checkbox on the Ship FromAddress, Ship To Address; the Address Book button on the Ship To addressdialog, and the Save Commodity checkbox on the Additional Informationdialog.

FIG. 12 is an exemplary illustration of a screen 1200 for pricing apackage in a typical CMS application, wherein the CMS application isoperating in offline mode in an embodiment of the invention. On theprice a package page 1200, the Perform End of Day button 1202 is grayedout and the Alert message area 1204 contains the following message:“<CMS application> is currently offline. A connection to <the datacenter> cannot be established. An alert will notify you when aconnection is re-established. To test your connection manually, selectCheck Connection from the Process menu.” In one embodiment, the messageis in bold red, though other colors and/or fonts may be used.

Referring to FIGS. 11 and 12, several menu items that are available whenthe CMS application is operating in the online mode. When operating inthe offline mode (not connected to the data center), several menu itemsare generally grayed out and unavailable on both the process a package1100 and price a package 1200 pages. For instance, under the “Process”menu 1206, the “First Class Mail Calculator” and the “Freight Insurance”menu items may be unavailable. The entire “Manifest” menu 1208 may begrayed out and unavailable. Under the “Reports” menu 1210, all menuitems other than “International Documentation” may be grayed out andunavailable. Under the “Administration” menu 1212, all menu items aregrayed out and unavailable except for “Site Configuration>Scales andPrinters.” In the “Help” menu 1214, the “What's New,” “About . . . ,”and “Refresh Alerts” menu items are unavailable.

Offline Package Processing

Shipping labels and/or traveler labels may be produced for carriers thatparticipate in the CMS application when online. As previously described,a traveler label is a label that is not used for shipping of a packagebut provides a cost estimate for shipping of the package and may be usedto quickly recall the package information when the CMS application isable to re-connect to the data center. Some carriers may not want itemsshipped while the shipping location is operating in offline mode, thus atraveler label is associated with packages that are to be shipped bythat carrier. The traveler label thus expedites shipment once thenetwork connection between the shipping location and the data center isre-established. In one embodiment, a “No Label” icon such as, forexample, the “Ø” 1122 as shown in FIG. 11, is displayed for carriersthat choose not to ship packages in the offline mode.

When a carrier that chooses not to ship in offline mode is selected whenthe “Ship It” button 1124 of FIG. 11 is clicked, a traveler label isgenerated instead of a shipping label. Also, a generic shipping labelmay be printed for United States Postal Service (USPS) shipments. Theuser's address label preference items are honored, if any. The packageinformation is saved locally as a pre-processed shipment and the packagewill be held at the shipping location. If the package is a shipped USPSshipment, the package is saved locally as a processed shipment.

When an international shipping label is generated while offline, aninternational document alert may display on one or more of the CMSapplication pages (see FIGS. 11 and 12). The alert text, if displayed,provides that “International Documentation cannot be produced when <theCMS application> is offline. You will be able to produce the appropriatedocumentation for this shipment when a connection to <the data center>is re-established. However, if a connection is not re-established beforethe carrier arrives, be sure to manually prepare all internationaldocumentation for this shipment or risk delaying delivery. Blankinternational documents may be printed from the Reports Menu.”

If “OK” is clicked, then the appropriate shipping label is generated. Ifthe selected carrier is one that allows offline shipping, then ashipping label and a power of attorney label, if applicable, aregenerated. If the selected carrier is not one that allows offlineshipping, then a saved estimate (i.e., traveler) label is generated. Thepackage and any package information are stored locally. Theinternational document alert is displayed on one or more CMS applicationscreens when the shipment is international (i.e., outside the U.S.),including Canada. The international document alert is not displayed onone or more CMS application screens when the destination of the shipmentis domestic.

Operating in the Guest Mode

Guest mode functions similar to the offline mode. However, in guest modeno shipping labels are produced. A “No Label” icon is displayed next toevery service in the rate list on the CMS application screens. The “ShipIt” button 1124 is renamed to “Save” and when “Save” is clicked, a savedestimate (i.e., traveler) label is produced. Shipping label preferencesfor various carriers are honored. The package and package information issaved locally as a pre-processed shipment.

Connection Status

Connection Check

A manual “Connection Check” function is available for the CMSapplication when the CMS application is operating in offline mode. The“Connection Check” menu item is added to the “Process” menu 1206. Themenu item label is, for example, “Check Connection” and the hotkey maybe “C.” The hotkey for copy “Ship From” to “Ship To” is “F”. The “CheckConnection” menu item is only available for the CMS application when inthe offline mode. If operating in the online mode, then the “ConnectionCheck” menu item is not displayed in the menu of the CMS application.

When the “Connection Check” function is selected, a search for aconnection between the user terminal operating the CMS application andthe data center servers occurs. While the search is occurring, a CheckConnection Status panel is displayed at the user terminal. An embodimentof this Check Connection Status panel 1300 is shown in FIG. 13. The text1302 of the Check Connection Status panel 1300 is “Checking Connection .. . ” An animated gif may be displayed under the text 1302. The CMSapplication is not available while the connection check is occurring.The Check Connection panel 1300 may display for a minimum amount of timesuch as, for example, two seconds, regardless of how long the check maytake to give the user a moment to recognize what is flashing on thescreen.

If a connection cannot be established, then the Check Connection Statuspanel 1300 closes and a “Lost Connection” alert is displayed. If aconnection is found, then the Check Connection Status panel 1300 closesand the “Manual Connection Found” alert opens.

A certain time period is established such that an automatic search for aconnection to the data center servers occurs cyclically after the timeperiod has lapsed while the CMS application is operating in the offlinemode. For example, an automatic search for a connection between the userterminal operating the CMS application and the data center may occurevery five minutes when the CMS application is in the offline mode. Whena connection check occurs automatically, the Connection Check Statuspanel 1300 is not displayed. The Connection Check Status panel 1300 isdisplayed when a “Connection Check” is manually requested. The CMSapplication is available and functional in the offline mode while theautomatic connection check is occurring.

If a connection is not found during an automatic connection check, thennothing is displayed to the user and the CMS application continues tooperate in offline mode and the CMS application will continue to checkfor a re-established connection every five minutes. If a connectionbetween the user terminal and the data center is found, the applicationremains offline until local transactions are synchronized.

Lost Connection

A lost connection is defined as when the data center cannot be reachedby the CMS application operating on a user terminal. For example, thedata center is offline, the user's network is down, the user's Internetconnection is down, communication with the data center takes more than apredefined timeout period to complete, etc. A “Lost Connection” alert1400 as shown in FIG. 14 is displayed when a user attempts to logon to aCMS application in online mode and a connection to the data centercannot be established or a connection to the data center is lost whilelogged on to the CMS application. The title 1402 of the Lost Connectionalert 1400 is “Connection Alert.” The Lost Connection alert 1400 mayinclude informative text 1404, a “Help” button 1406, a “Retry” button1408, and a “Work Offline” button 1410. The informative text 1404provides “A connection to <the data center> cannot be established. ClickRetry to retry your transaction request. Click Work Offline to continuein Offline Mode. An alert will notify you when the connection isre-established. Click Help for more information.”

The Help button 1406 is defined as having a button label of “Help,” anda hotkey of “H.” When clicked, Offline Help is opened and the LostConnection alert 1400 remains open. The Retry button 1408 is defined ashaving a button label of “Retry” and a hotkey of “R.” When clicked, thetransaction that timed-out is re-sent to the data center. The LostConnection alert 1400 is unavailable while the transaction is beingre-sent and the “Help” button 1406, the “Retry” button 1408, and the“Work Offline” button 1410 are each grayed out and unavailable while theretry is attempted. The Connection Check Status panel 1300 is displayedwhile the connection check is taking place.

If the transaction fails, the Connection Check Status panel 1300 closesand the Lost Connection alert 1400 becomes available again. If thetransaction is successful, then the Lost Connection alert 1400 closesand the transaction completes. The user then continues in online mode.

The “Work Offline” button 1410 is defined as having a label of “WorkOffline” and a hotkey of “W.” When the “Work Offline” button 1410 isclicked, then the Lost Connection alert 1400 closes, the CMS applicationswitches to offline mode, any unsupported dialog boxes close, and theuser is returned to the page (i.e., screen) the user was on. Allfunctionality of the CMS application that is not available in offlinemode will be disabled.

If any data was entered in the user interface or browser of the userterminal prior to the connection being lost, the data is retained. Ifthe “Save Address” checkbox is checked on either shipping addressdialog, the checkbox is manually unchecked before address storage isdisabled. If a package was being processed, and rates were retrievedprior to losing the connection to the data center, the package isre-rated in offline mode. If a “Ship It” transaction times out before itis completed, then the “Ship It” command will not complete and the useris required to click “Ship It” again in the offline mode.

Connection Found

A “Found Connection” is defined as the CMS application operating on theuser terminal sending a signal over the network and receiving a returnsignal from the data center. In other words, the data center can be“pinged” or communication with the data center takes less time than thedefined timeout period to complete. When a connection to the data centeris found, the application remains offline until all local transactionsare synchronized.

Referring to FIG. 15, when a connection to the data center is foundafter such a connection had been lost, a Connection FoundInitializing/Synchronizing alert 1500 is displayed. During thisinitialization/synchronization period, a search for offline packagesstored locally (e.g. on the user terminal, a local server, a localstorage device, etc.) and not yet uploaded occurs. The alert message inthe “Process a Package” menu bar changes to the text: “Connection Found:Initializing . . . ” In one embodiment, the text is blue, though othercolors may be used. While initializing, the application continues tofunction in the offline mode. If information about packages processedwhile in the offline mode is found locally, the alert message in the“Process a Package” menu bar remains “Connection Found: Initializing . .. ” until synchronization with the shipping location is initiated fromthe data center.

Before the data center initiates synchronization with the user terminal,logon credentials stored locally at the shipping location are verifiedwith information about authorized users at the data center. If thelocally stored logon credentials are valid, synchronization between thedata center and the user terminal begins. The alert message in the“Process a Package” menu bar then changes to the text, “ConnectionFound: Synchronizing . . . ” In one embodiment, the text is black. TheCMS application continues to function in the offline mode whilesynchronization is in process. When synchronization is complete, a“Connection Re-established” alert is displayed at the user terminal. Ifthe stored credentials are not valid, a logon re-validation dialog isdisplayed at the user terminal.

Even if packages were not shipped using the user terminal while theterminal was in the offline mode, locally stored logon credentials areverified with the authorization information residing at the data center.If the locally stored logon credentials match those stored at the datacenter, a connection re-established alert is displayed. If the storedcredentials do not match, the logon re-validation dialog is displayed atthe user terminal.

A “Manual Connection Found” alert 1600 such as that shown in FIG. 16 isdisplayed when a manual connection check is requested and a connectionbetween the user terminal and the data center is found. The “ManualConnection Found” alert 1600 displays if a connection is found as aresult of a manual connection check and there are local transactionsstored on the user terminal that have not yet been synchronized with thedata center. The “Manual Connection Found” alert 1600 is not displayedif a connection is found when the connection check is automatic. Ifthere are no local transactions stored on the user terminal, then the“Manual Connection Found” alert 1600 is not displayed and the locallystored logon credentials are verified. If the stored credentials arevalid, the “Manual Connection Found” alert 1600 is displayed. If thestored logon credentials are not valid, the logon re-validation dialogis displayed.

Referring to FIG. 16, the title 1602 of the Manual Connection Foundalert 1600 is “Connection Alert.” The text 1604 of the alert, in oneembodiment, is: “A connection to <the data center>has been found. Thisworkstation will need to synchronize with <the data center>. During thistime, <the CMS application>will continue to function in offline mode. Analert will notify you when synchronization is complete.” When the “OKbutton” 1606 is clicked, the “Manual Connection Found” alert 1600 isclosed. The information about packages that are prepared for shipment orshipped in the offline mode is then synchronized with the data center.

When a connection between a user terminal and the data center isproperly re-established, a “Connection Re-established” alert 1700 asshown in FIG. 17A is displayed at the user terminal. The “ConnectionRe-established” alert is displayed when a connection is found betweenthe user terminal and the data center, the logon credentials arevalidated successfully, and synchronization, if necessary, is completedsuccessfully.

In some instances, documents for international shipments may not beprepared in the offline method. Therefore, if information about aninternational package that was prepared for shipment while the userterminal was offline is found in the locally stored user terminalpackage information, a separate “Connection Re-established” alert 1702may be displayed, as shown in FIG. 17B. As in FIG. 17A, the title is“Connection Alert,” however, the text 1706 of the alert 1702 containsinternational reminder text 1708 such as, for example, “REMINDER: Besure to prepare documentation for your international shipments, if youhaven't done so already. Documentation for each international shipmentis now available from Reprint Transaction.”

The international reminder text 1708 is displayed when at least one ofthe following types of international shipments has been synchronizedwith the data center during the latest connection to the data center, ashipment with a Canadian destination or a non-documents shipment with aninternational destination. Also, for the international reminder text1708 to display, the ship date of the offline international shipmentmust not be in the past (from the time of synchronization). The offlineinternational shipment's ship date must be the current date or a date inthe future. The international reminder text is not displayed if aninternational shipment's ship date is a date in the past (prior tosynchronization). The international reminder text 1708 is not displayedwhen no international shipments were processed offline, or allinternational shipments processed offline were documents-only and eachdestination was not Canada. When the “OK button” 1710 of the “ConnectionRe-established” alert 1700, 1702 is clicked, the “ConnectionRe-established” alert 1700, 1702 is closed and the user is returned totheir location in the CMS application. If any data was entered in theuser interface of the user terminal prior to the connection between theuser terminal and the data center being re-established, the data isretained locally and synchronized with the data center. If a currentshipment has been rated while in the offline mode but not shipped, thetransaction will be automatically re-rated once the connection betweenthe user terminal and the data center is re-established. Once theconnection between the user terminal and the data center isre-established, the CMS application functions in its online mode as iscurrently implemented and all online functionality is restored.

Logon Re-validation

A User ID and password may be required when a connection between a userterminal and the data center is re-established. If the logon credentialsused to logon to the CMS application in the offline mode do not matchthe credentials stored on the data center once a connection has beenre-established, a mini logon dialog (e.g. Logon Re-Validation dialog)1800 as shown in FIG. 18 is displayed at the user terminal. The title1802 for this dialog box is “Connection Alert”. The “LogonRe-Validation” dialog 1800, in one embodiment, includes instructionaltext 1804, User ID text-entry field 1806, password text-entry field1808, submit button 1810, and cancel button 1812. The instructional text1804 may be, for example: “Your User ID and Password are required tore-establish your connection to <the data center>.” The User IDtext-entry field 1806 is displayed under the instructional text 1804.The logon User ID is a required field. The password text-entry field1808 is displayed under the User ID field and its label is “Password.”The Logon password is a required field. When “Submit” 1810 is clicked,online validation as is currently implemented by the CMS application forUser ID and Password occurs. The “Submit” button 1810 is disabled untila user name and password are entered. If validation of the user name andpassword passes, the user is logged on; however, traditional logon doesnot occur (e.g. synchronization, loading controls, etc.), and the userreturns to their original state in the CMS application. Synchronizationthen commences and until synchronization is complete, the CMSapplication functions in offline mode. The alert in the “Process aPackage” menu bar changes to “Connection Found: Synchronizing . . . ”and when synchronization is complete, the “Connection Re-established”alert is displayed. If validation fails, error handling as is currentlyimplemented by the CMS application occurs and a Logon Failure alert 1900as shown in FIG. 19 is displayed at the user terminal.

Logon Failure

When the Cancel button 1812 of FIG. 18 is clicked, the Logon dialog 1800closes and a Log Off alert 1900 is displayed. The Log Off alert 1900, inone embodiment, contains informative text 1902, an “Exit” button 1904,and an “OK” button 1906. The informative text 1902 may be, for example,“You will have to exit the application if you do not supply your<UserID> and Password now.” The “Exit” button 1904 may be defined ashaving a button label of “Exit” and a hotkey of “x.” When the “Exit”button 1904 is clicked, the Log Off alert 1900 closes and a “Are yousure . . . ” (i.e., “End of Day”) alert is displayed. If “Yes” isclicked on the End of Day alert, a mini logon dialog is display. Whenthe “OK” button 1906 is clicked, the Log Off alert 1900 is closed andthe user is returned to the mini logon dialog.

Modify Rates

Synchronize Alert

When rates are modified while online, Offline Processing is “On” for theaccount, or the Close button on the Modify Rates dialog is clicked, aSynchronize Alert 2000 as shown in FIG. 20 is displayed.

The Synchronize Alert 2000 is defined as having a title of “SynchronizeOffline Processing.” The Synchronize Alert text 2002 may be, forexample: “These changes will not be available immediately for OfflineProcessing synchronization. Be sure to log off and log back on withinthe next 12-24 hours to synchronize.” When the OK button 2004 of theSynchronized Alert 2000 is clicked, the alert closes.

FIG. 21A is a flowchart of a process for processing packages when a userterminal loses its ability to access a data center in an embodiment ofthe invention. The process begins at step 2100. At Step 2102, the useris processing packages in the online mode while the user terminal isable to access the data center. At Step 2104, the user terminal losesits ability to access the data center. At Step 2106, the user continuesto operate the user terminal and process packages in the offline mode.The process ends at Step 2108.

FIG. 21B is a flowchart of a process for synchronizing a user terminalthat is processing packages in the offline mode with a data center oncethe ability of the user terminal to access the data center is restored,in an embodiment of the invention. The process starts at Step 2110. AtStep 2112, a user is operating the user terminal in the offline modewhile processing packages. At Step 2114, access to the data center fromthe user terminal is restored. At Step 2116, data on the user terminalis synchronized with that of the data center. At Step 2118, the useroperates the user terminal in the online mode and continues to processpackages for shipping. The process ends at Step 2120.

FIG. 22 is a flowchart of a process of offline processing for packagesutilizing a CMS application in an embodiment of the invention. Theprocess begins at Step 2200. At Step 2202, a user launches a web-basedlogon page stored locally at a user terminal with a web browser. At Step2204, the user terminal attempts to connect with a data center over anetwork, and it is determined whether such connection is possible. If,in Step 2204, it is not possible to establish a connection between theuser terminal and the data center over the network, then in Step 2206, aCMS application residing at least in part on the user terminal isoperated in offline mode, and in Step 2208, certain unsupported onlinefunctionality (e.g., address books, etc.) are deactivated whileoperating in the offline mode. The process then returns to Step 2204 todetermine if an online connection between the user terminal and the datacenter can be established. At Step 2210, if a connection between theuser terminal and the data center is found, then the CMS application atthe user terminal will be run in online mode. At Step 2212, it isdetermined whether there is any local transaction information stored atthe user terminal as a result of shipping transactions that wereconducted at the user terminal while operating in the offline mode. Ifthere were local transactions conducted during the offline mode, then atStep 2214 the offline transaction information is synchronized with thatof the data center. If, at Step 2212, there is no offline transactioninformation, then the process goes to Step 2216 where all CMSapplication functionality is implemented and the process operates in theonline mode. The process ends at Step 2218.

FIG. 23 is a flowchart of a process of offline processing for packagesutilizing a CMS application in another embodiment of the invention. Theprocess begins at Step 2300. At Step 2302, a user is operating a CMSapplication at a user terminal in online mode for the processing ofpackages for shipment. At Step 2304, the CMS application on the userterminal determines whether it is able to access a data center over anetwork. If, in Step 2304, the CMS application residing at least in parton the user terminal is able to access the data center, then the processreturns to Step 2302 and the user terminal continues to operate in theonline mode. If, at Step 2304, it is not possible to establish aconnection between the user terminal and the data center over thenetwork, then in Step 2306, certain unsupported online functionality(e.g., address books, etc.) are deactivated, and at Step 2308 the CMSapplication residing at least in part on the user terminal is operatedin offline mode. The process then continues to Step 2310 where, onceagain, it is determined whether the CMS application residing at least inpart on the user terminal is able to access the data center over thenetwork. If, at Step 2310, the CMS application is unable to access thedata center, then the process returns to Step 2308 and the usercontinues to operate the CMS application at the user terminal in theoffline mode. If, at Step 2310, the CMS application at the user terminalis able to access the data center, then the process continues to Step2312. At Step 2312, it is determined whether there is any localtransaction information stored at the user terminal as a result ofshipping transactions that were conducted at the user terminal whileoperating in the offline mode. If there were local transactionsconducted during the offline mode, then at Step 2314 the offlinetransaction information is synchronized with that of the data center.The process then continues to Step 2316 where all CMS applicationfunctionality is implemented and the process operates in the onlinemode. If, at Step 2312, there is no offline transaction information,then the process goes to Step 2316 where all CMS applicationfunctionality is implemented and the process operates in the onlinemode. The process ends at Step 2318.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

That which is claimed:
 1. A system for applying carrier shipping ratesto one or more packages shipped via a carrier management system (CMS),said system comprising: a data center accessible via a network, the datacenter comprising a central portion of the CMS, rating data comprisinginformation to rate costs of shipping packages with at least twocarriers, and shipping data comprising information about shippingtransactions that have been processed for shipping packages by the atleast two carriers; a user terminal providing access to the data centerover the network, the user terminal comprising: (A) one or more ratingfiles comprising the information to rate the costs of shipping packageswith the at least two carriers; (B) one or more shipping files; and (C)one or more application files comprising executable code for at least alocal portion of the CMS, said user terminal being configured to: (A) inresponse to operating in an online mode and able to access the datacenter via the network: execute the central portion of the CMS in orderto: (i) display costs of shipping a package with the at least twocarriers based at least in part on the rating data; (ii) receive aselection of one of the at least two carriers from the user in responseto the user rating the costs of shipping the package with the at leasttwo carriers based on the displayed costs; and (iii) process the packagefor shipping with the selected carrier; and (B) in response to operatingin an offline mode and not able to access the data center via thenetwork: execute the application files to execute the local portion ofthe CMS on the user terminal independent of the central portion of theCMS in order to: (i) display costs of shipping the package with the atleast two carriers based at least in part on the information in the oneor more rating files; (ii) receive the selection of the carrier from theuser in response to the user rating the costs of shipping the packagewith the at least two carriers based on the displayed costs; and (iii)process the package for shipping with the selected carrier by storing ashipping transaction made while in the offline mode in at least one ofthe shipping files; and (C) in response to transferring from the offlinemode to the online mode and being able to access the data center via thenetwork: (i) synchronize the rating files with the rating data; (ii)synchronize the application files with the data center; and (iii)synchronize the shipping data with the shipping transactions stored inthe shipping files.
 2. The system of claim 1 wherein the applicationfiles executable code is configured to process and apply shipping ratesstored in the rating files to the one or more packages while the userterminal is in the offline mode.
 3. The system of claim 1 wherein thelocal portion of the CMS is configured to automatically detect aconnection state between the user terminal and the data center fordetermining whether the user terminal is to operate in the online modeor in the offline mode.
 4. The system of claim 3 wherein the userterminal is configured to synchronize the rating files and update theshipping data in response to the user terminal detecting the connectionstate changing from disconnected to connected, and the CMS residing onthe user terminal is configured to transfer the user terminal to theonline mode in response to the user terminal detecting the connectionstate being connected and the user terminal having synchronized therating files and uploaded the shipping data.
 5. A method forsynchronizing information on a user terminal with information on a datacenter in a carrier management system (CMS), comprising the steps of:providing the CMS capable of applying carrier shipping rates to one ormore packages, wherein the CMS comprises: (a) a local portion of the CMSthat resides on a user terminal, the user terminal having applicationfiles comprising executable code for executing the local portion of theCMS and rating files comprising rating information to rate costs ofshipping packages with at least two carriers and being configured totransfer between an online mode in which the user terminal is able toaccess a data center over the network and an offline mode in which theuser terminal is not able to access the data center; and (b) a centralportion of the CMS that resides on the data center that is accessible bythe user terminal over the network, the data center comprising ratingdata comprising information to rate costs of shipping packages with theat least two carriers and shipping data comprising information aboutshipping transactions that have been processed for shipping packages bythe at least two carriers; in response to the user terminal being in theonline mode and able to access the data center over the network: (a)displaying costs of shipping a package with the at least two carriers onthe user terminal by executing the central portion of the CMS, the costsof shipping the package based at least in part on the rating data; (b)receiving a selection of one of the at least two carriers from the userin response to the user rating the costs of shipping the package withthe at least two carriers based on the displayed costs; and (c)processing the package for shipping with the selected carrier byexecuting the central portion of the CMS; and in response to the userterminal being in the offline mode and unable to access the data centerover the network: (a) displaying costs of shipping the package with theat least two carriers on the user terminal by executing the localportion of the CMS, the costs based at least in part on the informationin the one or more rating files; (b) receiving the selection of thecarrier from the user in response to the user rating the costs ofshipping the package with the at least two carriers based on thedisplayed costs; and (c) processing the package for shipping with theselected carrier by storing a shipping transaction made while in theoffline mode in at least one shipping file in memory of the userterminal; and in response to access between the user terminal and thedata center being restored: (a) synchronizing said application files;(b) synchronizing said rating files; and (c) synchronizing said at leastone shipping file stored on said user terminal with data center data onsaid data center.
 6. The method of claim 5, wherein said at least oneshipping file comprises package weight and dimensions, address data,“bill to” data, carrier and class of service.
 7. The method of claim 5,wherein synchronizing said application files, said rating files, andsaid at least one shipping file stored on said user terminal with saiddata center data occurs automatically.
 8. The method of claim 5 whereinthe synchronizing step is performed after access to said data center bysaid user terminal has been restored.
 9. The method of claim 5 furthercomprising the steps of: automatically detecting a connection statebetween the user terminal and the data center as being either connectedor disconnected; and automatically transferring the user terminal to theoffline mode when the connection state is disconnected.
 10. The methodof claim 9 wherein the synchronizing step is performed in response todetecting the user terminal being in the offline mode and the connectingstate becoming connected, and the method further comprises the step of:transferring the user terminal to the online mode in response to havingdetected the connected state and having performed the synchronization.11. A non-transitory computer-readable medium storingcomputer-executable instructions for controlling a first computingdevice having at least a first memory, a first processor and a displaydevice, the computer-executable instructions comprising: (A) a firstexecutable portion executable on said first processor for: (1)displaying costs of shipping a package with at least two carriers on thedisplay device by reading carrier shipping rates of the at least twocarriers from a second memory associated with a second computing deviceand determining the costs of shipping the package based on the carriershipping rates; (2) receiving a selection of one of the at least twocarriers from the user in response to the user rating the costs ofshipping the package with the at least two carriers based on thedisplayed costs; and (3) processing the package for shipping with theselected carrier in conjunction with the second computing device; and(B) a second executable portion executable on said first processor, inresponse to detecting the carrier shipping rates from the second memoryof the second computing device cannot be read by the first executableportion, for: (1) displaying costs of shipping the package with the atleast two carriers on the display device by reading the carrier shippingrates of the at least two carriers from said first memory associatedwith said first computing device and determining the costs of shippingthe package based on the carrier shipping rates; (2) receiving theselection of the carrier from the user in response to the user ratingthe costs of shipping the package with the at least two carriers basedon the displayed costs; and (3) processing the package for shipping withthe selected carrier by storing a shipping transaction made while in theoffline mode in at least one shipping file in the first memory; and (C)a third executable portion executable on said first processor for: (1)detecting when said first computing device may access said secondcomputing device; and (2) in response to detecting said first computerdevice having access to said second computing device: (a) synchronizingsaid carrier shipping rates stored in said first memory with saidcarrier shipping rates stored in said second memory; and (b)transferring at least a copy of said shipping transaction stored in theat least on shipping file in said first memory to said second memory.